package com.zmn.oms.common.dio.normal.order;

import com.zmn.consts.GlobalConsts;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 类描述：检查订单服务能力
 *
 * @author wangxiaokun
 * @since 2021/06/02 16:32
 */
@Data
@ToString
@ApiModel("校验服务能力入参")
public class CheckOrderServiceDIO implements Serializable {

    private static final long serialVersionUID = 3628549167281553060L;

    /**
     * 服务平台标志：10.啄木鸟 20.言而有信 30.一步维修 40.川南环保
     */
    @ApiModelProperty(value = "做单平台", required = true)
    @NotNull(message = "做单平台不能为空")
    private Integer platWork;

    /**
     * 订单业务类型：1保外业务（C），2保内业务（F），3工程业务（B）
     * @see GlobalConsts#BIZ_TYPE_C
     */
    @ApiModelProperty(value = "订单业务类型", required = true)
    @NotNull(message = "订单业务类型不能为空")
    private Integer bizType;

    /**
     * 返修工单id
     */
    @ApiModelProperty(value = "返修工单id", required = true)
    private Long reworkId;

    /**
     * 订单类型：1 新单、2 返修单、3 退款单
     */
    @ApiModelProperty(value = "订单类型", required = true)
    @NotNull(message = "订单类型不能为空")
    private Integer type;

    /**
     * 推荐人id
     */
    @ApiModelProperty(value = "推荐人id", required = true)
    private Long recommenderId;

    /**
     * 渠道id
     */
    @ApiModelProperty(value = "渠道id", required = true)
    @NotNull(message = "渠道id不能为空")
    private Integer channelId;

    /**
     * 街道id
     */
    @ApiModelProperty(value = "街道id", required = true)
    private Integer streetId;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度", required = true)
    private Double longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度", required = true)
    private Double latitude;

    /**
     * 区县ID
     */
    @ApiModelProperty(value = "区县ID", required = true)
    private Integer countyId;

    /**
     * 城市id
     */
    @ApiModelProperty(value = "城市id", required = true)
    @NotNull(message = "城市id不能为空")
    private Integer cityId;

    /**
     * 产品id
     */
    @ApiModelProperty(value = "产品id", required = true)
    @NotNull(message = "产品id不能为空")
    private Integer productId;

    /**
     * 是否校验当前位置所属网格，1否，2是
     */
    @ApiModelProperty(value = "是否校验当前位置所属网格，1否，2是")
    private Integer checkGrid;

}
